package cn.com.nes.site.service.crm.order.dto;

import cn.com.nes.site.modules.sale.dto.SaleSelectDeviceDTO;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 销售订单的设备信息
 *
 * @Author: ShenWei
 * @Date: 2024/03/15/14:43
 */
@Data
public class SalePriceDetailDTO {
    /**
     * id
     */
    private Long id;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 报价单id
     */
    private Long priceMasterId;

    /**
     * 设备id
     */
    private String equipmentId;

    /**
     * 设备名称
     */
    private String equipmentName;

    /**
     * 设备型号
     */
    private String equipmentModel;

    /**
     * 品牌id
     */
    private Long brandId;

    /**
     * 公司id
     */
    private String companyId;

    /**
     * 成本价格
     */
    private BigDecimal costPrice;

    /**
     * 指导价
     */
    private BigDecimal guidePrice;

    /**
     * 设备数量
     */
    private Integer count;

    /**
     * 商品单位，对应字典表param_type = 304
     */
    private Integer unit;

    /**
     * 报价类型，对应字典表param_type = 307
     * 区分商品或人工
     */
    private Integer type;

    /**
     * 总成本价
     */
    private BigDecimal totalCostPrice;

    /**
     * 总指导价
     */
    private BigDecimal totalGuidePrice;

    /**
     * 折扣，百分比
     */
    private Integer discount;

    /**
     * 成交单价
     */
    private BigDecimal price;

    /**
     * 成交总价
     */
    private BigDecimal totalPrice;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 是否删除 0 - 没删除 1 - 已删除
     */
    private boolean deleted;

    /**
     * 创建人id
     */
    private String gmtCreateId;

    /**
     * 创建时间
     */
    private Date gmtCreate;

    /**
     * 修改人id
     */
    private String gmtModifiedId;

    /**
     * 修改时间
     */
    private Date gmtModified;

    // 扩展字段
    private String typeName; // 报价类型名称
    private String gmtCreateName; // 创建人姓名
    private String brandName; // 品牌名称
    private List<SaleSelectDeviceDTO> goodsList;
}
